﻿using Nantianmen.Domain.Models;

namespace Nantianmen.Domain.Repositories
{
    public interface IDestinationStore
    {
        Task<List<Destination>> FindByAddressAsync(string address, CancellationToken cancellationToken);
        Task<Destination?> FindByIdAsync(string id, CancellationToken cancellationToken);
        Task InsertAsync(Destination model, CancellationToken cancellationToken);
        Task<List<Destination>> ListAllAsync(CancellationToken cancellationToken);
        Task<List<Destination>> LoadAsync(List<string> destinationIds, CancellationToken cancellationToken);
        Task RemoveByAddressAsync(string address, CancellationToken cancellationToken);
        Task RemoveByIdAsync(string id, CancellationToken cancellationToken);
        Task UpdateAsync(Destination model, CancellationToken cancellationToken);
    }
}